import numpy as np
import os
DTYPE = np.float32

def gen_concat_data(seed=42):
    np.random.seed(seed)  # 设置随机种子
    os.makedirs("./input", exist_ok=True)
    os.makedirs("./output", exist_ok=True)

    # 生成两个9×111和9×222的张量用于拼接
    input_x = np.random.uniform(1, 100, [55, 222]).astype(DTYPE)
    input_y = np.random.uniform(1, 100, [66, 222]).astype(DTYPE)

    golden = np.concatenate([input_x, input_y], axis=0).astype(DTYPE)

    # input_x = np.random.uniform(1, 100, [55, 111]).astype(DTYPE)
    # input_y = np.random.uniform(1, 100, [55, 222]).astype(DTYPE)

    # #沿第1维拼接两个张量，得到9×333的输出
    # golden = np.concatenate([input_x, input_y], axis=1).astype(DTYPE)

    # 保持原来的文件名不变
    input_x.tofile("./input/input_x.bin")
    input_y.tofile("./input/input_y.bin")
    golden.tofile("./output/golden.bin")

    print("Concat data generation completed!")
    print(f"Input X shape: {input_x.shape}")
    print(f"Input Y shape: {input_y.shape}")
    print(f"Output shape: {golden.shape}")

if __name__ == "__main__":
    gen_concat_data(seed=42)